using System;
using System.Collections.Generic;
using System.Text;
using Colman.Rpg.Npc;

namespace Colman.Rpg.Messaging
{
    /// <summary>
    /// Response to a <see cref="FightMonsterRequest" />.
    /// </summary>
    [Serializable]
    public class FightMonsterResponse : ResponseMessage
    {
        /// <summary>
        /// Creates a new instance of <see cref="FightMonsterResponse" />.
        /// </summary>
        /// <param name="player">Represents the player's character.</param>
        [System.Diagnostics.DebuggerStepThrough]
        public FightMonsterResponse(Player player)
            : base(ResponseDestination.Requester)
        {
            this.player = player;
            this.monster = new Monster(player);
        }

        #region Player Player { get; } (player)
        private Player player;

        /// <summary>
        /// Gets the player's character.
        /// </summary>
        public Player Player
        {
            [System.Diagnostics.DebuggerStepThrough]
            get
            {
                return this.player;
            }
        }
        #endregion

        #region Monster Monster { get; } (monster)
        private Monster monster;

        /// <summary>
        /// Gets the monster the player will fight.
        /// </summary>
        public Monster Monster
        {
            [System.Diagnostics.DebuggerStepThrough]
            get
            {
                return this.monster;
            }
        }
        #endregion
    }
}
